{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##  Numpy常用random随机函数汇总"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "官方文档地址：https://docs.scipy.org/doc/numpy-1.14.0/reference/routines.random.html\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<img src=\"./other_files/numpy_random_functions.png\" width=\"80%\" style=\"margin-left:0px\"/>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "np.random.seed(666)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1. rand(d0, d1, ..., dn)\n",
    "\n",
    "返回数据在[0, 1)之间，具有均匀分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0.70043712, 0.84418664, 0.67651434, 0.72785806, 0.95145796])"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.random.rand(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[0.0127032 , 0.4135877 , 0.04881279, 0.09992856],\n",
       "       [0.50806631, 0.20024754, 0.74415417, 0.192892  ],\n",
       "       [0.70084475, 0.29322811, 0.77447945, 0.00510884]])"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.random.rand(3, 4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[[0.11285765, 0.11095367, 0.24766823, 0.0232363 ],\n",
       "        [0.72732115, 0.34003494, 0.19750316, 0.90917959],\n",
       "        [0.97834699, 0.53280254, 0.25913185, 0.58381262]],\n",
       "\n",
       "       [[0.32569065, 0.88889931, 0.62640453, 0.81887369],\n",
       "        [0.54734542, 0.41671201, 0.74304719, 0.36959638],\n",
       "        [0.07516654, 0.77519298, 0.21940924, 0.07934213]]])"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.random.rand(2, 3, 4)"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2. randn(d0, d1, ..., dn)\n",
    "返回数据具有标准正态分布（均值0，方差1）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([-1.20990266, -0.04618272, -0.44118244,  0.46953431,  0.44325817])"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.random.randn(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[-1.66738875, -1.81731749, -1.39753916,  0.78392691],\n",
       "       [-0.29129965,  0.67049043,  0.706931  ,  1.42965241],\n",
       "       [-0.41407013, -1.32672274, -0.14880188,  0.34771289]])"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.random.randn(3, 4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[[ 0.61030791, -1.17532603,  0.82985368, -0.30236752],\n",
       "        [-0.04327047,  0.06706965, -1.59102817,  0.01705112],\n",
       "        [-1.87296591, -0.96457904, -0.00420389,  0.47495047]],\n",
       "\n",
       "       [[-0.05421452,  0.89181355,  0.96866859,  0.6307865 ],\n",
       "        [-0.89051986,  0.08227022, -0.07594056,  0.42969347],\n",
       "        [ 0.11579967, -0.54443241,  0.02835341,  1.34408655]]])"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.random.randn(2, 3, 4)"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3. randint(low[, high, size, dtype])\n",
    "\n",
    "生成随机整数，包含low，不包含high  \n",
    "如果high不指定，则从[0, low)中生成数字"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.random.randint(3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.random.randint(1, 10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([27, 16, 25, 18, 18])"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.random.randint(10, 30, size=(5,))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[[26, 19, 14, 21],\n",
       "        [29, 25, 19, 21],\n",
       "        [28, 12, 13, 19]],\n",
       "\n",
       "       [[27, 27, 18, 27],\n",
       "        [16, 24, 16, 19],\n",
       "        [21, 20, 19, 14]]])"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.random.randint(10, 30, size=(2,3,4))"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 4. random([size])\t\n",
    "生成[0.0, 1.0)的随机数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0.95858105, 0.66579831, 0.84015904, 0.14691185, 0.14394403])"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.random.random(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[0.30843116, 0.37016398, 0.31852964, 0.56240025],\n",
       "       [0.4640979 , 0.80066784, 0.78735522, 0.84323067],\n",
       "       [0.68824287, 0.31854825, 0.93794112, 0.40711455]])"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.random.random(size=(3,4))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[[0.75336448, 0.5065076 , 0.8242313 , 0.48603164],\n",
       "        [0.17872445, 0.79322194, 0.13924006, 0.71347858],\n",
       "        [0.38300909, 0.70410853, 0.82867258, 0.58154578]],\n",
       "\n",
       "       [[0.38693726, 0.39648041, 0.15039198, 0.08835265],\n",
       "        [0.80002064, 0.86760024, 0.88654384, 0.76250128],\n",
       "        [0.2158761 , 0.60311702, 0.17688438, 0.15759693]]])"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.random.random(size=(2,3,4))"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 5. choice(a[, size, replace, p])\n",
    "a是一维数组，从它里面生成随机结果\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([4, 2, 4])"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 这时候，a是数字，则从range(5)中生成，size为3\n",
    "np.random.choice(5, 3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[3, 3, 2],\n",
       "       [4, 0, 2]])"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.random.choice(5, (2,3))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([3, 9, 6])"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 这时候，a是数组，从里面随机取出数字\n",
    "np.random.choice([2, 3, 6, 7, 9], 3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[7, 9, 2],\n",
       "       [6, 9, 6]])"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.random.choice([2, 3, 6, 7, 9], (2,3))"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 6. shuffle(x)\t\n",
    "把一个数组x进行随机排列"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([7, 2, 3, 6, 1, 9, 8, 4, 0, 5])"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a = np.arange(10)\n",
    "np.random.shuffle(a)\n",
    "a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 0,  1,  2,  3,  4],\n",
       "       [ 5,  6,  7,  8,  9],\n",
       "       [10, 11, 12, 13, 14],\n",
       "       [15, 16, 17, 18, 19]])"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a = np.arange(20).reshape(4,5)\n",
    "a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[10, 11, 12, 13, 14],\n",
       "       [ 0,  1,  2,  3,  4],\n",
       "       [15, 16, 17, 18, 19],\n",
       "       [ 5,  6,  7,  8,  9]])"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 如果数组是多维的，则只会在第一维度打散数据\n",
    "np.random.shuffle(a)\n",
    "a"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 7. permutation(x)\n",
    "把一个数组x进行随机排列，或者数字的全排列"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([1, 5, 3, 0, 2, 4, 7, 9, 6, 8])"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 这时候，生成range(10)的随机排列\n",
    "np.random.permutation(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[0, 1, 2],\n",
       "       [3, 4, 5],\n",
       "       [6, 7, 8]])"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 这时候，在第一维度进行打散\n",
    "arr = np.arange(9).reshape((3, 3))\n",
    "arr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[6, 7, 8],\n",
       "       [3, 4, 5],\n",
       "       [0, 1, 2]])"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 注意，这里不会更改原来的arr，会返回一个新的copy\n",
    "np.random.permutation(arr)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[0, 1, 2],\n",
       "       [3, 4, 5],\n",
       "       [6, 7, 8]])"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "arr"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 8. normal([loc, scale, size])\n",
    "按照平均值loc和方差scale生成高斯分布的数字"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ 10.80291099,  13.10516541, -23.0910327 ,  14.49409934,\n",
       "        -6.290444  ,  -9.42735397,  -2.28926527, -13.71681338,\n",
       "       -13.04515295,  -5.32726848])"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.random.normal(1, 10, 10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[  3.00692005,   2.62218924,   2.60682046,  13.11370959],\n",
       "       [-12.63957919,   2.30310161,  13.59875359,  10.79500364],\n",
       "       [ 18.37674494, -13.17309889,  -3.82004022, -20.47660377]])"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.random.normal(1, 10, (3,4))"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 9. uniform([low, high, size]) \t\n",
    "在[low, high)之间生成均匀分布的数字"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([2.64932089, 4.78167451, 7.11195067, 3.90634783, 8.86690648,\n",
       "       8.48692156, 1.73313319, 6.41664569, 8.79063733, 7.4360877 ])"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.random.uniform(1, 10, 10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[1.8056582 , 9.60886484, 1.08734758, 8.40955337],\n",
       "       [5.67535321, 2.0603951 , 5.7577428 , 7.03324951],\n",
       "       [3.101973  , 6.9400552 , 2.04862106, 4.44717637]])"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.random.uniform(1, 10, (3,4))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 实例：对数组加入随机噪声"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 绘制sin曲线\n",
    "x = np.linspace(-10, 10, 100)\n",
    "y = np.sin(x)\n",
    "plt.plot(x, y)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 加入噪声\n",
    "x = np.linspace(-10, 10, 100)\n",
    "y = np.sin(x) + np.random.rand(len(x))\n",
    "plt.plot(x, y)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
